﻿using Rendiciones.Logica.Enumeradores;
using System.ComponentModel.DataAnnotations;
using Tesla.Proveedores;
using System.Collections.Generic;
using Rendiciones.Logica.Modelos.Validaciones;

namespace Rendiciones.Logica.Modelos
{
    public class Proyecto : Entidad<Proyecto>
    {
        public int IdProyecto { get; set; }
        [Required(ErrorMessage = "Ingrese Nombre del Proyecto")]
        public string Nombre { get; set; }
        [Required(ErrorMessage = "Ingrese Centro de costo")]
        public string CentroCosto { get; set; }
        public bool Activo { get; set; }
        [DebeAgregarGerente(ErrorMessage = "Debe seleccionar un gerente")]
        public int IdGerente { get; set; }
        [DebeAgregarAdministrador(ErrorMessage = "Debe seleccionar un administrador")]
        public int IdAdministrador { get; set; }
        public List<Usuario> Custodios { get; set; }

        public string StrActivo { get { return Activo ? "Sí" : "No"; } }

        public Proyecto() 
        {
            IdProyecto = 0;
            Nombre = "";
            CentroCosto = "";
            Activo = true;
            IdGerente = 0;
            IdAdministrador = 0;
            Custodios = new List<Usuario>();
        }
    }
}